package com.choosefine.base.shixiaobao.common.utils;

import java.util.regex.Pattern;

/**
 * 通用校验工具类
 * 
 * @desc
 * @author 戚羿辰
 * @Date 2017/01/05
 */
public class VerifyUtil {

	/**
	 * 校验字符串是否为手机号
	 * @param str
	 * @return boolean
	 * @author 戚羿辰
	 * @Date 2017/01/05
	 * @throws
	 */
	public static boolean isMobile(String str) {
		if (StringUtils.isBlank(str)) {
			return false;
		}
		return Pattern.matches("^[1][3,4,5,7,8][0-9]{9}$", str);
	}

	/**
	 * 校验用户名,只允许字母或数字
	 * @return boolean
	 * @author 戚羿辰
	 * @Date 2017/01/05
	 * @throws
	 */
	public static boolean checkUserName(String str) {
		if (StringUtils.isBlank(str)) {
			return false;
		}
		return Pattern.matches("^[A-Za-z0-9-]+$", str);
	}

	/**
	 * 校验短号,目前为任意3位字母或数字
	 * @return boolean
	 * @author 戚羿辰
	 * @Date 2017/01/05
	 * @throws
	 */
	public static boolean checkUserNo(String str) {
		if (StringUtils.isBlank(str) || str.length() != 3) {
			return false;
		}
		return Pattern.matches("^[A-Za-z0-9-]+$", str);
	}

	/**
	 * 校验邮箱
	 * @param str
	 * @return
	 * @author 戚羿辰
	 * @Date   2017/01/07
	 * @throws
	 */
	public static boolean checkEmail(String str) {
		if (StringUtils.isBlank(str)) {
			return false;
		}
		return Pattern.matches("^([a-z0-9A-Z]+[-|_|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$",
				str);
	}
}
